import random
import string


# 做为 Apple Store App 独立开发者，你要搞限时促销，为你的应用生成激活码（或者优惠券），使用 Python 如何生成 200 个激活码（或者优惠券）？


def verification_code():  # 6位验证码，不够6位前面补0，例如959003、018009
    l1 = random.sample(range(0, 999999), 200)
    l2 = []
    for n in l1:
        l2.append('{:0>6}'.format(n))
    print(l2)


def activation_code():  # 生成15位不重复优惠码，A-Z、0-9随机抽取，每5位数字用“-”隔开,例如7GWGB-H71GY-32T83
    num = 5
    separate = 3
    count = 200
    result_set = set()
    str_code = string.ascii_uppercase + string.digits

    while len(result_set) < count:
        l = random.choices(str_code, k=num * separate)
        [l.insert(i * num, '-') for i in range(separate - 1, 0, -1)]
        result_set.add(''.join(l))
    print(len(result_set), result_set)


activation_code()
